<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css" />
<title>Accessing LLDB Sources</title>
</head>

<body>
	<div class="www_title">
		The <strong>LLDB</strong> Debugger
	</div>
	
<div id="container">
	<div id="content">
		
	<!--#include virtual="sidebar.incl"-->

		<div id="middle">
			<div class="post">
				<h1 class ="postheader">Checking out LLDB sources</h1>
        <div class="postcontent">
          <p>Refer to the <a href="http://llvm.org/docs/GettingStarted.html#getting-started-with-llvm">LLVM Getting Started Guide</a>
             for general instructions on how to check out source.  Note that LLDB depends on having a working checkout of LLVM
             and Clang, so the first step is to download and build as described at the above URL. The same repository also
             contains LLDB.</p>
          <p><b>Git browser</b>: https://github.com/llvm/llvm-project/tree/master/lldb </p>
          <p>
            For MacOSX building from Xcode, simply checkout LLDB and then build from Xcode.  The Xcode project will
            automatically detect that it is a fresh checkout, and checkout LLVM and clang automatically.  Unlike other
            platforms / build systems, it will use the following directory structure.
            <pre><tt>  
                  lldb
                  |
                  `-- llvm
                      |
                      +-- tools
                          |
                          `-- clang
                </tt>
            </pre>
            So updating your checkout will consist of updating lldb, llvm, and clang in these locations.
          </p>
          <p>
            Refer to the <a href="build.html">Build Instructions</a> for more detailed instructions on how to build for a particular
            platform / build system combination.
          </p>
        </div>
			</div>
			<div class="post">
				<h1 class ="postheader">Contributing to LLDB</h1>
				<div class="postcontent">
          <p>
            Please refer to the <a href="http://llvm.org/docs/DeveloperPolicy.html">LLVM Developer Policy</a>
            for information about authoring and uploading a patch.  LLDB differs from the LLVM Developer Policy in
            the following respects.
            <ul>
              <li>
                Test infrastructure.  It is still important to submit tests with your patches, but LLDB uses a different
                system for tests.  Refer to the lldb/test folder on disk for examples of how to write tests.
              </li>
            </ul>
            For anything not explicitly listed here, assume that LLDB follows the LLVM policy.
          </p>
        </div>
				<div class="postfooter"></div>
			</div>
		</div>
	</div>
</div>
</body>
</html>
